package svc

import (
	"fmt"
	"github.com/shugen/models"
)

//Insert
func (s *Svc) InsertMenXing(mx *models.MenXing) error {

	if _, err := s.Engine.Insert(mx); err != nil {
		fmt.Println("新增失败:", mx, err)
		return err
	}
	return nil
}

//Update
func (s *Svc) UpdateMenXing(mx *models.MenXing) (*models.MenXing, error) {

	menxing := &models.MenXing{}
	//title和type不需要更新
	affect, err := s.Engine.ID(string(mx.MenXingId)).Omit("type").Omit("title").Update(mx)
	if err != nil {
		return nil, err
	}
	if affect > 0 {
		s.Engine.ID(string(mx.MenXingId)).Get(menxing)
	}
	return menxing, nil
}

//Select
func (s *Svc) SelectMenXing(mx *models.MenXing) (*models.MenXing, error) {

	menxing := &models.MenXing{}

	if _, err := s.Engine.Where("type = ?", mx.Type).Get(menxing); err != nil {
		return nil, err
	}
	return menxing, nil
}

//Select List
func (s *Svc) ListMenXing() ([]*models.MenXing, error) {

	var list []*models.MenXing

	if err := s.Engine.Find(&list); err != nil {
		return nil, err
	}
	return list, nil
}
